package edu.cuit.avatar.inherit;

/**
 * @author <a href="mailto:1020zhaodan@163.com">Adan</a>
 * @version 1.0
 * @date 2025/7/9 14:50
 */
public class Dog extends Pet{
    /**
     * 狗狗特有的属性：品种
     */
    private String strain;

    public String getStrain() {
        return strain;
    }

    public void setStrain(String strain) {
        this.strain = strain;
    }

    /**
     * 方法重写：子类覆盖父类同名方法
     * 重写的规则：
     *
     *   1）要求子类与父类的方法：返回值类型、方法名、形参列表必须完全相同。
     *   2）子类的修饰符权限不能小于父类的修饰符权限
     *   3）若父类方法抛异常，那么子类方法抛的异常类型不能大于父类方法抛的异常类型
     *   4）子类可以重写父类的静态方法，但是必须是同为静态的（对父类静态方法来说是隐藏，可以使用父类.静态方法的形式访问）
     */
    @Override
    public String sayHello(){
        return super.sayHello() + ",我是一只" + strain;
    }
}
